package com.fowo.api.model.loan.monthly.balance;

import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import javax.validation.constraints.*;
import lombok.Data;

/**
 * 贷款月结 预览导入辅助模型(全字段为文本类型)
 * @author yl_ls
 */
@Data
public class LoanMonthlyBalanceImportPo {

  /** 供应商 */
  @ExcelProperty("*供应商")
  @NotBlank(message = "供应商不能为空")
  @Size(max = 50, message = "供应商长度不能超过50")
  private String supplierNameSupplierName;

  /** 结算描述 */
  @ExcelProperty("结算描述")
  @Size(max = 50, message = "结算描述长度不能超过50")
  private String describe;

  /** 采购单号 */
  @ExcelProperty("采购单号")
  @Size(max = 50, message = "采购单号长度不能超过50")
  private String purchaseOrderCode;

  /** 采购方 */
  @ExcelProperty("采购方")
  @Size(max = 50, message = "采购方长度不能超过50")
  private String applicationDepName;

  /** 入库单号 */
  @ExcelProperty("入库单号")
  @Size(max = 50, message = "入库单号长度不能超过50")
  private String orderSnCgRealname;

  /** 仓库 */
  @ExcelProperty("仓库")
  @Size(max = 50, message = "仓库长度不能超过50")
  private String wid;

  /** 入库时间 */
  @ExcelProperty("入库时间")
  @DateString(message = "入库时间不是有效的日期格式")
  private String warehousingDate;

  /** 结算账期 */
  @ExcelProperty("结算账期")
  @DateString(message = "结算账期不是有效的日期格式")
  private String closingPeriod;

  /** 应付款日 */
  @ExcelProperty("应付款日")
  @DateString(message = "应付款日不是有效的日期格式")
  private String dueDate;

  /** 状态 */
  @ExcelProperty("状态")
  private String status;

  /** 预计付款时间 */
  @ExcelProperty("预计付款时间")
  @DateString(message = "预计付款时间不是有效的日期格式")
  private String predictFkTime;

  /** 支付方式 */
  @ExcelProperty("支付方式")
  private String payType;

  /** 户名 */
  @ExcelProperty("户名")
  @Size(max = 50, message = "户名长度不能超过50")
  private String userName;

  /** 开户行 */
  @ExcelProperty("开户行")
  @Size(max = 50, message = "开户行长度不能超过50")
  private String bankOfDeposit;

  /** 账号 */
  @ExcelProperty("账号")
  @Size(max = 50, message = "账号长度不能超过50")
  private String account;

  /** 付款币种 */
  @ExcelProperty("付款币种")
  private String currency;

  /** 备注 */
  @ExcelProperty("备注")
  @Size(max = 50, message = "备注长度不能超过50")
  private String remarks;

  /** 请款维度 */
  @ExcelProperty("请款维度")
  private String withdrawDimension;

  /** 采购量 */
  @ExcelProperty("采购量")
  private String purchaseQuantity;

  /** 入库量 */
  @ExcelProperty("入库量")
  @LongString(message = "入库量数值格式不正确", label = "入库量")
  private String totalNum;

  /** 采购金额 */
  @ExcelProperty("采购金额")
  private String purchaseMoney;

  /** 到货金额 */
  @ExcelProperty("到货金额")
  private String aogMoney;

  /** 请款金额 */
  @ExcelProperty("请款金额")
  private String qkMoney;

  /** 未申请金额 */
  @ExcelProperty("未申请金额")
  private String notApply;

  /** 折扣金额 */
  @ExcelProperty("折扣金额")
  private String discountAmount;

  /** 请款单号 */
  @ExcelProperty("请款单号")
  @Size(max = 50, message = "请款单号长度不能超过50")
  private String qkSn;

  /** 入库员 */
  @ExcelProperty("入库员")
  @Size(max = 50, message = "入库员长度不能超过50")
  private String stockinUid;

  /** 采购员 */
  @ExcelProperty("采购员")
  @Size(max = 50, message = "采购员长度不能超过50")
  private String optUid;
}
